App.require(["matrix3"], function (matrix3) {
    var Matrix3 = matrix3.Matrix3;

    App.defineWidget("navigator", {
        render: function (ctx) {},
        style: {
            transform: [],
            x: 0,
            y: 0,
            width: 100,
            height: 40,
            shadow: "0 0 0 black",
            marker: null,
            text: "",
            font: "",
            textFill: "black",
            target: ""
        },
        get transform() {
            return this.style.transform;
        },
        set transform(val) {
            this.style.transform = val;
            this.getScene().nextRender();
        },
        get width() {
            return this.style.width;
        },
        set width(val) {
            this.style.width = val;
            this.getScene().nextRender();
        },
        get height() {
            return this.style.height;
        },
        set height(val) {
            this.style.height = val;
            this.getScene().nextRender();
        },
        get x() {
            return this.style.x;
        },
        set x(val) {
            this.style.x = val;
            this.getScene().nextRender();
        },
        set y(val) {
            this.style.y = val;
            this.getScene().nextRender();
        },
        get y() {
            return this.style.y;
        },
        set shadow(val) {
            this.style.shadow = val;
            this.getScene().nextRender();
        },
        get shadow() {
            return this.style.shadow;
        },
        get marker() {
            return this.style.marker;
        },
        set marker(val) {
            this.style.marker = val;
            this.getScene().nextRender();
        },
        get text() {
            return this.style.text;
        },
        set text(val) {
            this.style.text = val;
            this.getScene().nextRender();
        },
        get font() {
            return this.style.font;
        },
        set font(val) {
            this.style.font = val;
            this.getScene().nextRender();
        },
        get textFill() {
            return this.style.textFill;
        },
        set textFill(val) {
            this.style.textFill = val;
            this.getScene().nextRender();
        }
    });
});